/**
 * Created with IntelliJ IDEA.
 * Description:给出两幅相同大小的黑白图像（用0-1矩阵）表示，求它们的相似度。
 * 若两幅图像在相同位置上的像素点颜色相同，则称它们在该位置具有相同的像素点。
 * 两幅图像的相似度定义为相同像素点数占总像素点数的百分比。
 * 输入描述：
 * 第一行包含两个整数m和n，表示图像的行数和列数，用单个空格隔开。
 * 1≤m≤100, 1≤n≤100。之后m行，每行n个整数0或1，表示第一幅黑白图像上各像素点的颜色，
 * 相邻两个数用单个空格隔开。之后m行，每行n个整数0或1，表示第二幅黑白图像上各像素点的颜色，相邻两个数用单个空格隔开。
 * 输出描述：
 * 一个实数，表示相似度(以百分比的形式给出)，精确到小数点后两位。
 * 输入：
 * 3 3
 * 1 0 1
 * 0 0 1
 * 1 1 0
 * 1 1 0
 * 0 0 1
 * 0 0 1
 * 输出：
 * 44.44
 *
 * User: zjc
 * Date: 2022-06-08
 * Time: 22:56
 */
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int m=sc.nextInt();
        int n=sc.nextInt();
        int[][] array=new int[m][n];
        int[][] brray=new int[m][n];
        double count=0.0;
        for(int i=0;i<m;i++)
        {
            for(int j=0;j<n;j++)
            {
                array[i][j]=sc.nextInt();
            }
        }
        for(int i=0;i<m;i++)
        {
            for(int j=0;j<n;j++)
            {
                brray[i][j]=sc.nextInt();
            }
        }
        for(int i=0;i<m;i++)
        {
            for(int j=0;j<n;j++)
            {
                if(array[i][j]==brray[i][j])
                {
                    count++;
                }
            }
        }
        System.out.printf("%.2f",(count)/(m*n)*100);
    }
}
